﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WMH_Project
{
    /* Interfejs osobnika - dostarcza metody które będą wymagane przez
     * algorytm ewolucyjny. Idea jest taka żeby proces ewolucji zbioru był
     * niezależny od implementacji poszczególnych osobników.
     */
   public interface Specimen
    {
        //Metoda Mutate - jej wywołanie powoduje że w osobniku
        //zachodzi mutacja.
       void Mutate(MutationParam mp); 
        //Metoda Crossover - przyjmuje osobnika do korzyżowania, 
        //zwraca potomka dwóch obieków wchodzących w interakcje
        //bazą jest obiekt w którym wywoływona jest metoda
        //crossingGrade - to ile procent genów ma przejść z obiektu będącego argumentem
        Specimen Crossover(Specimen specimen);
        // Metoda zwraca wartość funkcji celu.
        int GetQuality();
        //private int age = 0;

        //public int Age
        //{
        //    get { return age; }
        //    set { age = value; }
        //}
    }
}
